using System;
using System.Linq;
using SubsidiosBussinessLogic.DataAccess.Interfaces;
using SubsidiosBussinessLogic.Models;

namespace SubsidiosBussinessLogic.DataAccess.SqlServerRepository
{
    public class SubvencionRepository : SolicitudRepository, ISubvencionRepository
    {
        public SubvencionRepository(IDataContextFactory dataContextFactory) : base(dataContextFactory)
        {
        }

        public IQueryable<Subvencion> GetSunvenciones()
        {
            return DataContextFactory.Context.GetTable<Subvencion>();
        }

        public Subvencion CreateSubvencion()
        {
            Solicitud solicitud = CreateSolicitud();
            Subvencion subvencion = new Subvencion {Solicitud = solicitud};
            DataContextFactory.Context.GetTable<Subvencion>().InsertOnSubmit(subvencion);
            return subvencion;
        }

        public void DeleteSubvencion(Subvencion subvencion)
        {
            DeleteSolicitud(subvencion.Solicitud);
            SaveAll();
        }

        public void SaveSubvencion()
        {
            SaveSolicitud();
            SaveAll();
        }
    }
}